Record ডিক্লারেশন এবং ম্যানিপুলেশন

Records এবং Files (রেকর্ড এবং ফাইলস) - প্যাসক্যাল (Pascal) - Computer Programming

204

প্যাসক্যাল ভাষায় Record একটি ডেটা টাইপ যা বিভিন্ন ধরনের ডেটা একত্রিত করে একটি ইউনিট হিসেবে ব্যবহারের সুযোগ দেয়। এটি একটি কাস্টম ডেটা টাইপ তৈরি করার উপায়, যার মধ্যে বিভিন্ন ডেটা টাইপের মান থাকতে পারে। Record ব্যবহারের মাধ্যমে আমরা একটি নির্দিষ্ট বিষয় বা অবজেক্টের সব তথ্য একসঙ্গে সংরক্ষণ এবং পরিচালনা করতে পারি।


১. Record ডিক্লারেশন

Record ডিক্লারেশন করতে হলে, প্রথমে আপনাকে একটি type নির্দেশ করতে হবে যেখানে আপনি Record-এর কাঠামো বা ফিল্ডস (fields) নির্ধারণ করবেন। প্রতিটি ফিল্ড একটি ভেরিয়েবল হতে পারে, যা বিভিন্ন ডেটা টাইপের হতে পারে।

উদাহরণ:

program RecordExample;
type
  Person = record
    name: string[50];
    age: Integer;
    height: Real;
  end;
var
  p1: Person;  { পি১ হলো Person টাইপের একটি ভেরিয়েবল }
begin
  { Record-এর মধ্যে ভেরিয়েবল গুলোর মান দেওয়া }
  p1.name := 'Azizur Rahman';
  p1.age := 30;
  p1.height := 5.9;

  { Record থেকে মান আউটপুট করা }
  writeln('Name: ', p1.name);
  writeln('Age: ', p1.age);
  writeln('Height: ', p1.height);
end.

এই প্রোগ্রামে:

  • Person একটি record টাইপ যা তিনটি ভেরিয়েবল ধারণ করে: name (string), age (Integer), এবং height (Real)।
  • p1 হল একটি Person টাইপের ভেরিয়েবল যা name, age, এবং height মান ধারণ করে।
  • প্রতিটি ফিল্ডে মান অ্যাসাইন করা হয় এবং পরে সেগুলি আউটপুট করা হয়।

২. Record ম্যানিপুলেশন

Record ম্যানিপুলেশন হলো Record-এর ফিল্ডগুলোর মান পরিবর্তন করা বা নতুন মান সেট করা। আপনি যখন একটি Record টাইপের ভেরিয়েবল তৈরি করেন, তখন তার ফিল্ডগুলিতে মান অ্যাসাইন বা পরিবর্তন করতে পারেন।

উদাহরণ:

program RecordManipulation;
type
  Employee = record
    id: Integer;
    name: string[100];
    salary: Real;
  end;
var
  emp: Employee;
begin
  { Record-এর মধ্যে ফিল্ডের মান অ্যাসাইন করা }
  emp.id := 101;
  emp.name := 'John Doe';
  emp.salary := 55000.75;

  { Record থেকে মান আউটপুট করা }
  writeln('Employee ID: ', emp.id);
  writeln('Employee Name: ', emp.name);
  writeln('Employee Salary: ', emp.salary);
end.

এখানে:

  • Employee একটি record টাইপ যা একটি কর্মীর id, name, এবং salary ধারণ করে।
  • emp হলো Employee টাইপের একটি ভেরিয়েবল, যেখানে id, name, এবং salary ফিল্ডে মান দেওয়া হয়।
  • পরে, writeln ফাংশনের মাধ্যমে Record-এর ফিল্ডগুলোর মান আউটপুট করা হয়।

৩. Record টাইপের মধ্যে পয়েন্টার ব্যবহার

প্যাসক্যাল ভাষায় আপনি Record-এর মধ্যে পয়েন্টারও ব্যবহার করতে পারেন। এটি অধিক জটিল ডেটা কাঠামো তৈরি করতে সাহায্য করে, যেখানে আপনি Record-এর মধ্যে অন্য Record বা ডেটার একটি রেফারেন্স রাখতে পারেন।

উদাহরণ:

program RecordPointerExample;
type
  Address = record
    street: string[100];
    city: string[50];
    zipCode: string[10];
  end;

  Person = record
    name: string[50];
    age: Integer;
    address: ^Address;  { Pointer to Address record }
  end;

var
  p1: Person;
  addr1: Address;
begin
  { Address record এর মান সেট করা }
  addr1.street := '123 Main St';
  addr1.city := 'Dhaka';
  addr1.zipCode := '1212';

  { Person record এর মান সেট করা }
  p1.name := 'Azizur Rahman';
  p1.age := 30;
  p1.address := @addr1;  { Address record এর পয়েন্টার অ্যাসাইন করা }

  { Address record এর মান আউটপুট করা }
  writeln('Name: ', p1.name);
  writeln('Age: ', p1.age);
  writeln('Street: ', p1.address^.street);
  writeln('City: ', p1.address^.city);
  writeln('Zip Code: ', p1.address^.zipCode);
end.

এখানে:

  • Person record এর মধ্যে address নামক একটি পয়েন্টার রয়েছে, যা Address টাইপের একটি Record নির্দেশ করে।
  • @addr1 ব্যবহার করে address পয়েন্টারে addr1 Record-এর রেফারেন্স দেয়া হয়।
  • পয়েন্টারের মাধ্যমে Record-এর ফিল্ডগুলো অ্যাক্সেস করা হয় (p1.address^.street ইত্যাদি)।

৪. Record Arrays

প্যাসক্যালের মধ্যে আপনি Record Arrays ব্যবহার করতে পারেন, যা অনেক Record একত্রে সংরক্ষণ করতে সাহায্য করে।

উদাহরণ:

program RecordArrayExample;
type
  Book = record
    title: string[100];
    author: string[50];
    price: Real;
  end;

  BookArray = array[1..3] of Book;  { ৩টি Book Record এর জন্য Array }
var
  books: BookArray;
begin
  { Array এর প্রতিটি Book এর মান সেট করা }
  books[1].title := 'Pascal Programming';
  books[1].author := 'John Doe';
  books[1].price := 39.99;

  books[2].title := 'Learn Pascal';
  books[2].author := 'Jane Smith';
  books[2].price := 29.99;

  books[3].title := 'Advanced Pascal';
  books[3].author := 'Michael Johnson';
  books[3].price := 49.99;

  { Array এর মধ্যে Book গুলোর মান আউটপুট করা }
  writeln('Book 1: ', books[1].title, ', ', books[1].author, ', ', books[1].price);
  writeln('Book 2: ', books[2].title, ', ', books[2].author, ', ', books[2].price);
  writeln('Book 3: ', books[3].title, ', ', books[3].author, ', ', books[3].price);
end.

এখানে:

  • BookArray নামক একটি Array তৈরি করা হয়েছে যা ৩টি Book Record ধারণ করে।
  • প্রতিটি Record এর ফিল্ডে মান অ্যাসাইন করা হয় এবং পরে সেগুলি আউটপুট করা হয়।

সারাংশ

Record প্যাসক্যালের একটি শক্তিশালী ডেটা টাইপ যা একাধিক ভিন্ন ধরনের ডেটা একত্রে সংরক্ষণ করতে সহায়তা করে। আপনি Record ডিক্লারেশন করে বিভিন্ন ডেটা টাইপের মান একসঙ্গে রাখ सकते এবং পরে তাদের মধ্যে মান পরিবর্তন বা ম্যানিপুলেট করতে পারেন। Record পয়েন্টার, Array, এবং প্রথমিক ব্যবহার ইত্যাদি দিয়ে আরও জটিল কাঠামো তৈরি করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...